Re: [SQL] Expr Abbreviations/Functions?
От | Herouth Maoz |
---|---|
Тема | Re: [SQL] Expr Abbreviations/Functions? |
Дата | |
Msg-id | l03130302b3c1e5bcad24@[147.233.159.109] обсуждение исходный текст |
Ответ на | Re: [SQL] Expr Abbreviations/Functions? ("tjk@tksoft.com" <tjk@tksoft.com>) |
Список | pgsql-sql |
At 07:52 +0300 on 26/07/1999, tjk@tksoft.com wrote: > If I recall the original question correctly, the > "only" real solution would seem to be to define > a function to search the appropriate fields. Yes. The original question had a conceptual problem. It wanted to abbreviate the expression without the name of the table. This was nonsensical - you can't ask whether id > 3. You can ask whether person.id > 3. Just "id" could be anything in the world. Asking a database to do that is like asking a person to play a flute in vacuum. Another problem was that it implied returning a set of rows. This is not well supported by postgres - and that's a known limitation. The best thing that can be done at the moment is to have a function that accepts the strings as parameters and returns a boolean: CREATE FUNCTION match_three ( text, text, text, text ) RETURNS bool AS ' SELECT (( $1 ~ $4 ) OR ( $2 ~ $4 ) OR ($3 ~ $4)) ' LANGUAGE 'sql'; Then it can be used as: SELECT * FROM table1 WHERE match_three( x1, x2, x3, 'foo' ); Herouth -- Herouth Maoz, Internet developer. Open University of Israel - Telem project http://telem.openu.ac.il/~herutma
В списке pgsql-sql по дате отправления: